package Model;

import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Ivelios
 */
public class Product implements IProduct  {

    private String titre;
    private String description;
    private String objectif;

    private List<IRelease> listRelease;
    private List<IStory> listHistoire;
    private List<ITheme> listTheme;
    private List<ITeam> listEquipe;
    private List<IUser> listUtilisateur;

    public Product(String titre, String description, String objectif) {
        this.titre = titre;
        this.description = description;
        this.objectif = objectif;

        this.listRelease = new ArrayList();
        this.listHistoire = new ArrayList();
        this.listTheme = new ArrayList();
        this.listEquipe = new ArrayList();
        this.listUtilisateur = new ArrayList();
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getObjectif() {
        return objectif;
    }

    public void setObjectif(String objectif) {
        this.objectif = objectif;
    }

    public String getTitre() {
        return titre;
    }

    public void setTitre(String titre) {
        this.titre = titre;
    }

    public void setListEquipe(List<ITeam> listEquipe) {
        this.listEquipe = listEquipe;
    }

    public void setListHistoire(List<IStory> listHistoire) {
        this.listHistoire = listHistoire;
    }

    public void setListRelease(List<IRelease> listRelease) {
        this.listRelease = listRelease;
    }

    public void setListTheme(List<ITheme> listTheme) {
        this.listTheme = listTheme;
    }

    public void setListUtilisateur(List<IUser> listUtilisateur) {
        this.listUtilisateur = listUtilisateur;
    }

    public boolean addHistoire(IStory histoire){
        return listHistoire.add(histoire);
    }

    public boolean addRelease(IRelease release){
        return listRelease.add(release);
    }

    public boolean addTheme(ITheme theme){
        return listTheme.add(theme);
    }

    public boolean addEquipe(ITeam equipe){
        return listEquipe.add(equipe);
    }

    public boolean addUtilisateur(IUser utilisateur){
        return listUtilisateur.add(utilisateur);
    }


    public boolean removeHistoire(IStory histoire){
        return listHistoire.remove(histoire);
    }

    public boolean removeRelease(IRelease release){
        return listRelease.remove(release);
    }

    public boolean removeTheme(ITheme theme){
        return listTheme.remove(theme);
    }

    public boolean removeEquipe(ITeam equipe){
        return listEquipe.remove(equipe);
    }

    public boolean removeUtilisateur(IUser utilisateur){
        return listUtilisateur.remove(utilisateur);
    }

    

}
